package main

import (
	"fmt"
	"runtime"
)

func main() {
	// 从 Go 1.5 开始，如果 GOMAXPROCS 没有被显式设置，GOMAXPROCS 会被设置为系统上可用的逻辑处理器数量
	numCPUs := runtime.NumCPU()
	fmt.Printf("Number of CPUs: %d\n", numCPUs)

	// 显式设置 GOMAXPROCS 为可用的 CPU 数量
	runtime.GOMAXPROCS(numCPUs)
	fmt.Printf("GOMAXPROCS set to: %d\n", numCPUs)

	// 再次查询以确认设置
	newMaxProcs := runtime.GOMAXPROCS(0)
	fmt.Printf("New GOMAXPROCS: %d\n", newMaxProcs)
}
